Automatic graphical user interface programming system

ABSTRACT

An automatic graphical user interface programming system that greatly reduces computer processor time and power usage including: a computer processor; computer readable non-transitory storage medium; a software algorithm stored on computer readable non-transitory storage medium, where the software algorithm is designed to accept graphic files representing at least a portion of a graphic user interface for a computing device application, where the software algorithm is further adapted to accept at least one of A) button descriptions for buttons to be part of the GUI, B) photographs to be included in the GUI, C) animations to be used in the GUI, D) movies to be used in the GUI, E) a story board for the path a user can follow through the GUI, F) tables for displaying information, G) a timeline for the actions and activity of the GUI, where the software algorithm further accepts information describing the intended receiving computing device that the GUI will be used on, where the software algorithm further comprises at least three templates for software code describing a GUI in the native code environment on the receiving computing device, where the software algorithm recursively compares the input information regarding the desired GUI with the at least three templates to choose the template that closest represents the features of the information input to describe the desired GUI, where the software algorithm further alters the recursively selected template to match at least one of sizing, colors, position, layout, and function of the input information describing the desired GUI, where the software algorithm compiles source code files in the code environment native to the receiving computing device, where the source code files are adapted to provide a GUI for an application on the receiving computing device, where the software code is executed by the processor, where the processor time and power usage are reduced by at least ten percent by the software algorithm compared to other traditional methods for producing GUI source code files in the native code environment of the receiving computing device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a non-provisional continuation of U.S. ProvisionalPatent Application Ser. No. 62/494,916, filed 25 Aug. 2016, the priorityof which is claimed by this application, and the entire contents andsubstance of which are hereby incorporated in total by reference.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a schematic representation of the system of the firstpreferred embodiments, where templates are also used for specificfeatures.

FIG. 2 is a flow chart representation of the system of the firstpreferred embodiments, where templates are also used for specificfeatures, where at least two layouts are programmed for at least twodifferent screen sizes.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The description that follows of the invention's preferred embodiments ismeant to enable someone skilled in the prior art to make and use theinvention, but is not meant to limit the invention to these preferredembodiments.

1. First Preferred Embodiment

As shown in FIG. 1, the system of the preferred embodiments is anautomatic graphical user interface programming system 1 that greatlyreduces computer processor 2 time and power usage including: a computerprocessor 2; computer readable non-transitory storage medium 3; asoftware algorithm stored on computer readable non-transitory storagemedium 3, where the software algorithm is designed to accept graphicfiles 4 representing at least a portion of a graphic user interface fora computing device application, where the software algorithm is furtheradapted to accept at least one of A) button descriptions for buttons tobe part of the graphical user interface 5, B) photographs to be includedin the graphical user interface 5, C) animations to be used in thegraphical user interface 5, D) movies to be used in the graphical userinterface 5, E) a story board for the path a user can follow through thegraphical user interface 5, F) tables for displaying information 5, G) atimeline for the actions and activity of the graphical user interface 5,where the software algorithm further accepts information describing theintended receiving computing device 7 that the graphical user interfacewill be used on, where the software algorithm further comprises at leastthree templates 8 for software code describing a graphical userinterface in the native code environment on the receiving computingdevice 7, where the software algorithm recursively compares the inputinformation regarding the desired graphical user interface with the atleast three templates 8 to choose the template that closest representsthe features of the information input to describe the desired graphicaluser interface, where the software algorithm further alters therecursively selected template to match at least one of sizing, colors,position, layout, and function of the input information describing thedesired graphical user interface, where the software algorithm compilessource code 9 files in the code environment native to the receivingcomputing device 7, where the source code 9 files are adapted to providea graphical user interface for an application on the receiving computingdevice 7, where the software code is executed by the processor 2, wherethe processor 2 time and power usage are reduced by at least ten percentby the software algorithm compared to other traditional methods forproducing graphical user interface source code 9 files in the nativecode environment of the receiving computing device 7; a receivingcomputing device 7 used by an end user and a method for transferringoutput software code to the receiving computing device 7. The automaticgraphical user interface programming system 1 that greatly reducescomputer processor 2 time and power usage is preferably designed toprogram front end graphical user interfaces for applications quickly,efficiently, and with low man-hours and significantly reduced processor2 usage, processor 2 time, and memory usage and time compared to priorart methods and manual front end graphical user interface programmingmethods. The system of the preferred embodiments may, however, be usedin any suitable manner.

As shown in FIG. 1, a software algorithm is at least partially stored oncomputer readable non-transitory medium coupled in communication with acomputer processor 2, where the computer processor 2 runs the softwarealgorithm. The software algorithm is designed to accept at least onegraphic file 4 representing at least a portion of an intended graphicaluser interface for a computing device application. In a preferredvariation, the software algorithm may accept at least one of a Photoshopfile, a vector graphic file, and a similar graphic file. The softwarealgorithm preferably parses the graphic file, in one variation includingparsing separate elements of the graphic file, in another variationparsing different layers of the graphic file, in another variationparsing separate zones of the graphic file, and in another variationparsing any suitable combination of these components. The softwarealgorithm also is designed to accept information describing thereceiving computing device 7. In a preferred variation, this informationincludes at least one of a device manufacturer and a device model, thetype and version of the operating system on the receiving computingdevice 7, and any other suitable information that describes the nativecode environment on the receiving computing device 7. The softwarealgorithm preferably recursively selects from at least three templates 8for software code describing at least one portion of a graphical userinterface in a native code language, where the templates are preferablyrelevant to the native code environment on the receiving computingdevice 7, and where the goal of the recursion is to select the templatethat most closely matches the at least one graphic input file and theadditional input information. This preferably allows the softwarealgorithm to have a code structure for at least one portion of thegraphical user interface in the appropriate native code environment,which can then be modified and refined to appropriately represent the atleast one input graphic file 4 and the other input information and to doso in the native code environment for the receiving computing device 7.In a preferred variation, where at least one of multiple pages, multiplevariations, and multiple portions of the graphical user interface areinput into the software algorithm, this process may be repeated for eachof the at least one of multiple pages, multiple variations, and multipleportions of the graphical user interface. The software algorithm may,however, process multiple aspects of the input information in anysuitable manner. The software algorithm preferably selects a template tomatch at least one of sizing, colors, position, layout, and function ofthe information that was input into the software algorithm to describethe desired graphical user interface.

In a preferred variation of the system of the preferred embodiments, thesoftware algorithm selects from at least two native code templates 11related to features of a graphical user interface include code templatesrelated to at least one of buttons, text areas, animations, photographs,movies, text entry fields, interfaces with backend application code,where the software algorithm preferably selects the appropriate featuretemplate 11 for at least one of the features in at least one of the atleast one input graphic file 4 and additional input informationdescribing the intended graphical user interface. In an example of apreferred variation, if there is a button described by at least one ofthe at least one input graphic file 4 and the additional inputinformation, the software algorithm selects from at least two buttontemplates describing buttons in the native source code 9 environment forthe receiving computing device 7, where the template most closelydepicting the button from at least one of the at least one input graphicfile 4 and additional input information. This can be done for anysuitable feature in the at least one input graphic file 4 and additionalinput information. In this variation, the software algorithm preferablythen modifies the code of the feature template 11 to most closelyrepresent at least one of the input graphic and input information forthat feature, as well as to ensure that feature appropriately interfaceswith any required backend application information and code. This processmay be repeated for all relevant features if necessary.

As shown in FIG. 2, in one preferred variation the software algorithmmay include a listener in the output source code 9 to detect the screensize 10 on the receiving computing device 7, where the output graphicalinterface source code 9 chooses from between at least two versions ofthe graphical user interface based on the detected screen size 10 on thereceiving computing device 7. In this preferred variation, at least twoversions of layouts for at least one portion of the graphical userinterface are input to the software algorithm, and the softwarealgorithm follows the process described here for developing nativesource code 9 for each of the at least two layouts, generating at leasttwo separate segments of native source code 9 for the at least twoseparate layouts of the graphical user interface. In this variation,when the listener in the output native source code 9 detects the screensize 10, it then selects and loads the appropriate native source code 9segment for the layout that best suits the detected screen size 10. Thispreferably allows the graphical user interface to adapt to devices withdifferent screen sizes 10.

In a preferred variation, the additional input information includes auser interface tree. In this variation, the software algorithm parsesthe user interface tree that is input, then recursively selects theappropriate templates for each portion of the tree, modifies thosetemplates to create output native source code 9, then selectsfeature-based templates 11 for any relevant features, modifies thosefeature-based templates 11, and updates the overall templates with theadjusted feature-based native source code 9, leading to completegraphical user interface code in the native source code 9 appropriatefor the receiving computing device 7. There may, however, be anysuitable process for programming the entire graphical user interface.

In a preferred variation, at least a portion of the software algorithmmay be executed on a remote computing server with at least oneadditional processor 2 and at least one additional computer readablenon-transitory storage medium 3. In this preferred variation, the twocomputing devices used for executing the software algorithm collaborateto carry out the software algorithm and deliver the output native sourcecode 9.

In a preferred variation, elements including but not limited toanimations, movies, videos, audio, pictures, buttons, and text inputareas are described in the input graphic files 4 and the additionalinput information, and the software algorithm then develops nativesource code 9 for each of these elements that are included in the inputgraphic files 4 and the additional input information. Graphic files,image files, video files, and audio files may include any of theseexamples and any other suitable files: AI (Adobe Illustrator) files, EPSfiles, JPG files, PNG files, BMP files, GIF files, MP4 files, AVI files,MOV files, MP3 files, AU files, WAV files. There may, however, be anysuitable process used by the software algorithm for programming anysuitable features.

In a preferred variation, the code selected and modified from theappropriate templates is then compiled and exported as native sourcecode 9, and the native source code 9 can then be transferred to thereceiving computing device 7. In a preferred variation, the nativesource code 9 is exported and combined with the back-end applicationsource code 9 and the entire native source code 9 application istransferred to the receiving computing device 7.

By significantly reducing the usage time, number of computations, andprocessor 2 time that are required to program a graphical user interfacefor a receiving computing device 7 as compared to any prior art methods,including manual graphical user interface programming methods, thesystem of the preferred embodiments greatly reduces power usage,processor 2 time, processer usage, and the usage of the computerreadable non-transitory storage medium 3, making a great improvement inat least one of power usage, programming time, power efficiency, andwear on the computer processor 2 and non-transitory computer readablestorage medium 3.

As a person skilled in the art will recognize from the previous detaileddescription and from the figures and claims, modifications and changescan be made to the preferred embodiments of the invention withoutdeparting from the scope of this invention defined in the followingclaims.

We Claim: 1) An automatic graphical user interface programming systemthat greatly reduces computer processor time and power usage comprising:a computer processor; computer readable non-transitory storage mediumcoupled in communication with the computer processor; a softwarealgorithm stored on computer readable non-transitory storage medium,wherein the software algorithm is adapted to accept graphic filesrepresenting at least a portion of a graphic user interface for acomputing device application, wherein the software algorithm is furtheradapted to accept at least one of A) button descriptions for buttons tobe part of the graphical user interface, B) photographs to be includedin the graphical user interface, C) animations to be used in thegraphical user interface, D) movies to be used in the graphical userinterface, E) a story board for the path a user can follow through thegraphical user interface, F) tables for displaying information, G) atimeline for the actions and activity of the graphical user interface,wherein the software algorithm further accepts information describingthe intended receiving computing device that the graphical userinterface will be used on, wherein the software algorithm furthercomprises at least three templates for software code describing agraphical user interface in the native code environment on the receivingcomputing device, wherein the software algorithm recursively comparesthe input information regarding the desired graphical user interfacewith the at least three templates to choose the template that closestrepresents the features of the information input to describe the desiredgraphical user interface, wherein the software algorithm further altersthe recursively selected template to match at least one of sizing,colors, position, layout, and function of the input informationdescribing the desired graphical user interface, wherein the softwarealgorithm compiles source code files in the code environment native tothe receiving computing device, wherein the source code files areadapted to provide a graphical user interface for an application on thereceiving computing device, wherein the software code is executed by theprocessor, wherein the processor time and power usage are reduced by atleast ten percent by the software algorithm compared to othertraditional methods for producing graphical user interface source codefiles in the native code environment of the receiving computing device;a receiving computing device used by an end user and a method fortransferring output software code to the receiving computing device. 2)The automatic graphical user interface programming system that greatlyreduces computer processor time and power usage of claim 1 wherein thesoftware algorithm further codes the native code source files to detectthe screen size of the receiving computing device and change the layoutof the graphical user interface to one of at least two different layoutsbased on screen size of the receiving computing device. 3) The automaticgraphical user interface programming system that greatly reducescomputer processor time and power usage of claim 1 wherein the softwarealgorithm detects at least one feature from the input informationregarding the desired graphical user interface, then recursively selectsthe native code template from at least two native code templates thatdescribe graphical user interface features similar to the feature fromthe input information regarding the desired graphical user interface. 4)The automatic graphical user interface programming system that greatlyreduces computer processor time and power usage of claim 3, wherein theat least two native code templates related to features of a graphicaluser interface include code templates related to at least one ofbuttons, text areas, animations, photographs, movies, text entry fields,interfaces with backend application code. 5) The automatic graphicaluser interface programming system that greatly reduces computerprocessor time and power usage of claim 2 wherein the software algorithmdetects at least one feature from the input information regarding thedesired graphical user interface, then recursively selects the nativecode template from at least two native code templates that describegraphical user interface features similar to the feature from the inputinformation regarding the desired graphical user interface. 6) Theautomatic graphical user interface programming system that greatlyreduces computer processor time and power usage of claim 5, wherein theat least two native code templates related to features of a graphicaluser interface include code templates related to at least one ofbuttons, text areas, animations, photographs, movies, text entry fields,interfaces with backend application code. 7) The automatic graphicaluser interface programming system that greatly reduces computerprocessor time and power usage of claim 2, wherein at least two separatenative code source files are output by the source algorithm for separatereceiving computing device screen sizes, wherein the native code sourcefiles include a listener that detects screen size usage and then usesthe appropriate native code source file for the screen size. 8) Theautomatic graphical user interface programming system that greatlyreduces computer processor time and power usage of claim 2, wherein atleast two segments of native code are output by the source algorithminto the at least one native code source files, wherein each of the atleast two segments of native code is adapted to properly display forseparate receiving computing device screen sizes, wherein the nativecode source files include a listener that detects screen size usage andthen uses the appropriate native code source file for the screen size.8) The automatic graphical user interface programming system thatgreatly reduces computer processor time and power usage of claim 5,wherein at least two separate native code source files are output by thesource algorithm for separate receiving computing device screen sizes,wherein the native code source files include a listener that detectsscreen size usage and then uses the appropriate native code source filefor the screen size. 9) The automatic graphical user interfaceprogramming system that greatly reduces computer processor time andpower usage of claim 6, wherein at least two segments of native code areoutput by the source algorithm into the at least one native code sourcefiles, wherein each of the at least two segments of native code isadapted to properly display for separate receiving computing devicescreen sizes, wherein the native code source files include a listenerthat detects screen size usage and then uses the appropriate native codesource file for the screen size.